package request

// 定义外层结构体
type EventWrapper struct {
	Schema string `json:"schema"`
	Header Header `json:"header"`
	Event  Event  `json:"event"`
}

// 定义Header内嵌结构体
type Header struct {
	EventID    string `json:"event_id"`
	Token      string `json:"token"`
	CreateTime string `json:"create_time"`
	EventType  string `json:"event_type"`
	TenantKey  string `json:"tenant_key"`
	AppID      string `json:"app_id"`
}

// 定义Event内嵌结构体
type Event struct {
	Message Message `json:"message"`
	Sender  Sender  `json:"sender"`
}

// 定义Message内嵌结构体
type Message struct {
	ChatID      string `json:"chat_id"`
	ChatType    string `json:"chat_type"`
	Content     string `json:"content"`
	CreateTime  string `json:"create_time"`
	MessageID   string `json:"message_id"`
	MessageType string `json:"message_type"`
	UpdateTime  string `json:"update_time"`
}

// 定义Sender内嵌结构体
type Sender struct {
	SenderID struct {
		OpenID  string `json:"open_id"`
		UnionID string `json:"union_id"`
		UserID  string `json:"user_id"`
	} `json:"sender_id"`
	SenderType string `json:"sender_type"`
	TenantKey  string `json:"tenant_key"`
}
